package com.zzr.zzrbackend.service;

import com.zzr.zzrbackend.pojo.domain.SituationRecordParent;
import com.zzr.zzrbackend.pojo.dto.CommonResult;
import com.zzr.zzrbackend.pojo.dto.param.DisabuseParam;
import com.zzr.zzrbackend.pojo.dto.param.DisabuseParentParam;
import com.zzr.zzrbackend.pojo.dto.param.DisabuseVolunteerParam;
import com.zzr.zzrbackend.pojo.dto.param.VolunteerScoreParam;
import com.zzr.zzrbackend.pojo.dto.result.*;
import jakarta.servlet.http.HttpServletRequest;


public interface DisabuseService {

    public CommonResult<DisabuseListResult> getDisabuseList(HttpServletRequest request);

    public CommonResult<DisabuseResult> getDisabuseDetail(HttpServletRequest request, Integer disabuseId);

    public CommonResult<SituationVolunteerRecordResult> getDisabuseVolunteerDetail(HttpServletRequest request,
                                                                                   Integer disabuseId,
                                                                                   Integer order);

    public CommonResult<NoData> getDisabuseVolunteerId(HttpServletRequest request,
                                                       Integer disabuseId);


    public CommonResult<SituationRecordParent> getDisabuseParentDetail(HttpServletRequest request, Integer disabuseId,
                                                                       Integer order);

    public CommonResult<NoData> setDisabuse(HttpServletRequest request, DisabuseParam disabuseParam);

    public CommonResult<NoData> setParentDisabuse(HttpServletRequest request,
                                                  DisabuseParentParam disabuseParentParam);

    public CommonResult<NoData> setVolunteerDisabuse(HttpServletRequest request,
                                                     DisabuseVolunteerParam disabuseVolunteerParam);

    public CommonResult<DisabuseCountResult> getDisabuseCount(HttpServletRequest request, Integer disabuseId);

    public CommonResult<SingleDisabuseCountNum> getSingleDisabuseCount(HttpServletRequest request, Integer disabuseId
            , Integer type);

    public CommonResult<PersonalInformationResult> getPersonalInformation(HttpServletRequest request,
                                                                          Integer disabuseId);

    public CommonResult<NoData> setSolve(HttpServletRequest request, Integer disabuseId);

    public CommonResult<NoData> setAcceptSolve(HttpServletRequest request, Integer disabuseId);

    public CommonResult<NoData> setAcceptId(HttpServletRequest request, Integer disabuseId);

    public CommonResult<NoData> getNotSolveDisabuseNum(HttpServletRequest request);

    public CommonResult<NoData> setVolunteerScore(VolunteerScoreParam volunteerScoreParam);
}
